// pages/authorization/authorization.js
//获取应用实例
var app = getApp();
var config = require('../../config.js')
var pageId =null;
var options = null;
Page({

  /**  
   * 页面的初始数据
   */
  data: {
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    options = options;
    pageId = options.pageId;

    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse) {
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          console.log("rawData====" + res.rawData)
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  
  },

  /**
   * 用户授权的回调
   */
  getUserInfo: function (e) {
    if (e.detail.userInfo) {
      console.log("success");
      this.setData({
        userInfo: e.detail.userInfo,
        hasUserInfo: true
      })
      // wx.navigateBack({
      //   delta: -1
      // });

      // 可以将 res 发送给后台解码出 unionId
      app.globalData.userInfo = e.detail.userInfo;
      app.globalData.rawData = e.detail.rawData;
      app.globalData.signature = e.detail.signature;
      app.globalData.encryptedData = e.detail.encryptedData;
      app.globalData.iv = e.detail.iv;
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      if (this.userInfoReadyCallback) {
        this.userInfoReadyCallback(res)
      }
      //获取用户信息成功之后 提交数据到服务器
      app.postUserInfo();
      console.log("---pageId====---" + pageId);

      //==========跳转到对应的页面=========================
      //个人中心
      if (pageId == config.user) {
        var pages = getCurrentPages(); // 当前页面
        var beforePage = pages[pages.length - 2]; // 前一个页面
        wx.navigateBack({
          success: function () {
            beforePage.onLoad(); // 执行前一个页面的onLoad方法
          }
        });
      }




      //==========跳转到对应的页面=========================
      if (pageId == config.calendar) {
        wx.redirectTo({
          url: '../calendar/calendar',
        })
      }
      
      if (pageId == config.gameInstruction) {
        wx.redirectTo({
          url: '../games/gameInstruction/gameInstruction',
        })

      }
      if (pageId == config.homeExam) {
        wx.redirectTo({
          url: '../exam/homeExam/homeExam',
        })

      }
      else if (pageId == config.toplist) {
        wx.redirectTo({
          url: '../toplist/toplist'
        })
      }

      else if (pageId == config.myrecord) {
        wx.redirectTo({
          url: '../myrecord/myrecord',
        })
      }
    

      else if (pageId == config.competition) {
        wx.navigateTo({
          url: '../games/invitefriend/invitefriend',
        })
      }
      else  if (pageId == config.toplistshowResult) {
        wx.navigateTo({
          url: '../games/toplistshow/toplistshow',
        })
      }
      else if ( pageId == config.battleResult) {
        wx.redirectTo({
          url: '../games/battleResult/battleResult',
        })
      }else{
        //如果没有对应页面 直接回到首页
        console.log("---没有对应页面 直接回到首页---");
        wx.navigateBack({
          delta: 100
        })

      }

     
    }else{
      wx.showToast({
        title: '授权失败',
        icon: 'none',
        duration: 2000
      })
    }

  }

})